Fast method for renewal and associated recommendations for market basket items

ABSTRACT

When a customer is in the process of filling a market basket for purchase on an Internet commerce site, a method makes prioritized recommendation of items so as to maximize the likelihood that the customer will add to the basket those items that are in the list with higher priorities. The method separately considers in turn preferences due to a current set of items in the market basket and also preferences due to a new choice independent of what is in the market basket. In this way, the method recognizes that not all items in the market basket are selected because of their affinity with some other item already in the basket. The two preferences are estimated separately from training data and combined in proper proportions to obtain an overall preference for item not yet in the market basket.

DESCRIPTION BACKGROUND OF THE INVENTION

[0001] 1. Field of the Invention

[0002] The present invention generally relates to a computer method andsystem for placing orders for products over a computer network, such asthe Internet, and more particularly, to a way to more effectively andefficiently determine a customer's preferences while the customer'schoices are in progress in order to make recommendations of other itemsthe customer might be interested in purchasing. More generally, furtherrecommendations while a customer is making choices applies to any suchsituation, e.g., a customer makes a series of Internet surfing choicesand new sites are dynamically recommended and displayed (by icons).Aside from virtual shopping carts, this can also apply to the realshopping cart with displays. As a customer fills the cart, the displaypoints to the next items the customer is likely to add to the cart.

[0003] 2. Background Description

[0004] Shopping on the World Wide Web (WWW or simply the Web) portion ofthe Internet has become ubiquitous in our society. A typical Web siteoffering products for purchase employs what is referred to as a “marketbasket”, a sort of virtual shopping cart without wheels. The customerselects items to add to his or her market basket, and when he or shecompletes their shopping, a “check out” button is selected to processthe items then in the market basket.

[0005] A market strategy has developed which involves monitoring theitems in the customer's market basket and, taking other factors intoaccount including possibly the customer's past buying habits and similarchoices made by other customers, making recommendations to the customerof other items he or she might be interested in purchasing. In the pastdecade, recommendations to a customer who has items in a market baskethave been made using so called associative rules mined from the marketbasket data, or by several other means described, for example, in P.Resnick, N. Iacovou, M. Suchak, P. Berstrom and J. Riedl, “Grouplens: Anopen architecture for collaborative filtering of netnews”, Proceedingsof the ACM 1994 Conference on Computer Supported Cooperative Work, pp.175-186, ACM, New York (1994), J. Breese, D. Heckermnan, and C. Kadie,“Empirical analysis of predictive algorithms for collaborativefiltering”, Proceedings of Fourteenth Conference on Uncertainty inArtificial Intelligence, Morgan Kaufmnan, Madison, Wisc. (1998), andothers. The associative rules cannot be tailored to all possible partialmarket baskets. All the prior art in so called collaborative filteringtechnique require a substantial amount of computation.

SUMMARY OF THE INVENTION

[0006] It is therefore an object of the present invention to provide amore effective and efficient process for recommending items to acustomer for their market basket in an e-commerce site.

[0007] According to the invention, a new method is provided which isbased on a novel theory that “not all items in the basket are selectedbecause of their affinity with some other item already in the basket.”The method uniquely determines two separate components of item choicepreferences: Preference by association with existing items in the basketin progress or independently exercised purchases. The former is theusual preference considered by all prior art methods. The latter is therenewal buying not considered by the prior art. In the presentinvention, these two preferences are separately estimated from thetraining data and combined in proper proportions to obtain the overallpreference for each item not yet in the basket. The recommendations arepresented in the form of ranking from which some subset of items at thetop will be presented to the customer. The ranking is obtained fromcomputed probabilities for each item that is not in the current basket,given the partial basket in progress. The method disclosed here is notrestricted to purchasing of items. It can also be used for recommendingnew web-sites to someone browsing the Internet.

BRIEF DESCRIPTION OF THE DRAWINGS

[0008] The foregoing and other objects, aspects and advantages will bebetter understood from the following detailed description of a preferredembodiment of the invention with reference to the drawings, in which:

[0009]FIG. 1 is a table showing an array of binary data which representsitems in market baskets; and

[0010]FIG. 2 is a flow diagram showing the logic of the computerimplemented process according to the invention.

DETAILED DESCRIPTION OF A PREFERRED EMBODIMENT OF THE INVENTION

[0011] Referring now to the drawings, and more particularly to FIG. 1,there is shown a table which illustrates a binary array which representsitems in market baskets. In this table, each row is a basket and eachcolumn represents an item. A binary value 1 in row i and column jsignifies that the basket i contained item j and value 0 for the absenceof the item. We shall denote such market basket data array as M,comprised of n baskets (rows) and m items (columns).

[0012] The current partial basket is denoted as B, the content items ofwhich is denoted as i₁, i₂, . . . i_(b), where the number of items inthe basket, b, can be 0 if the basket is just beginning. Such case willbe called a null basket, and the method to determine the preferences forthe null basket will be separately described later.

[0013] The probability of a customer buying item j given the partialbasket B is P(j|B). The key concept is to separately consider theprobability components: one due to associative buying, and the other dueto an independent, or renewal choice. $\begin{matrix}\begin{matrix}{{P\left( j \middle| B \right)} = {{P\left( {j,\left. {asso} \middle| B \right.} \right)} + {P\left( {j,\left. {renewal} \middle| B \right.} \right)}}} \\{{= {{{P\left( {\left. j \middle| {asso} \right.,B} \right)}{P\left( {asso} \middle| B \right)}} + {{P\left( {\left. j \middle| {renewal} \right.,B} \right)}{P\left( {renewal} \middle| B \right)}}}},}\end{matrix} & (1)\end{matrix}$

[0014] for all j not in B where, since one buys associatively orindependently,

P(asso|B)=1−P(renewal|B)  (2)

[0015] And in the case of renewal buy, the basket content is immaterialexcept for those items already in the partial basket B, and hence$\begin{matrix}\begin{matrix}{{P\left( {\left. j \middle| {renewal} \right.,B} \right)} = {{P\left( j \middle| {renewal} \right)} = {{P\left( {j,{renewal}} \right)}/{P({renewal})}}}} \\{{= {{P\left( {renewal} \middle| j \right)}{{P(j)}/{P({renewal})}}}},}\end{matrix} & (3)\end{matrix}$

[0016] where P(j) is the probability of item j being bought.

[0017] Now we make a simple but reasonable assumption about the purchasebehavior we name “single item influence”. That is, whether the next buyis renewal or associative, it is determined as an aggregate of suchtendency by the items in the current basket, singly. In other words, anassociative next buy would be the result of its association to some oneitem in the basket and not because more than one item was needed for theassociation. We, likewise, assume each single item exerts its owntendency to non-associative, i.e., renewal, buying. These assumptionsare reasonable and allow an efficient computation.

[0018] We make further simplifying assumptions about the purchasingbehavior regarding the aggregation of the single item influence. In thecase of renewal, we reasonably assume that the least renewal tendencyamong all the basket items dictate the final renewal. So, foraggregating the renewal probabilities,

P(renewal|B)=min_(k) P(renewal|i _(k)), for k=1, 2, . . . , b,  (4)

[0019] which will be estimated from the data in a manner describedbelow. And in the case of associated buying, we reasonably assume thatmaximum preference to associatively select an item j among each item inthe partial basket B determines the overall preference for the item j.That is, in pre-normalized form,

P′(j|asso,B=max_(k) P(j|asso,i _(k)) for k=1, 2, . . . , b.  (5)

[0020] This quantity is set to zero for all items in the future partialbasket for which recommendations are made. After that, they arenormalized for probability, as $\begin{matrix}{{P\left( {\left. j \middle| {asso} \right.,B} \right)} = {\frac{P^{\prime}\left( {\left. j \middle| {asso} \right.,B} \right)}{\sum\limits_{j}{P^{\prime}\left( {\left. j \middle| {asso} \right.,B} \right)}}\quad {for}\quad {all}\quad {items}\quad {j.}}} & (6)\end{matrix}$

[0021] Now, the probability, P(j|asso, i_(k)), of equation (5) isequivalent to (using i for i_(k)) $\begin{matrix}\begin{matrix}{{P\left( {\left. j \middle| {asso} \right.,i} \right)} = {\frac{P\left( {j,i,{asso}} \right)}{P\left( {i,{asso}} \right)} = \frac{{- {P\left( {j,i} \right)}}{P\left( {\left. {asso} \middle| j \right.,i} \right)}}{{P(i)}{P\left( {asso} \middle| i \right)}}}} \\{= {\left\{ \frac{P\left( {j,i} \right)}{P(i)} \right\} \frac{\left\{ {1 - {P\left( {\left. {renewal} \middle| j \right.,i} \right)}} \right\}}{\left\{ {1 - {P\left( {renewal} \middle| i \right)}} \right\}}}} \\{= \frac{{P\left( j \middle| i \right)}\left\{ {1 - {P\left( {\left. {renewal} \middle| j \right.,i} \right)}} \right\}}{\left\{ {1 - {P\left( {renewal} \middle| i \right)}} \right\}}}\end{matrix} & (7)\end{matrix}$

[0022] When the partial basket in progress is empty, i.e., the nullbasket at the start, a customer is at precisely the “renewal” point.Therefore, for null basket B=null, equation (1) is specialized by use ofequation (3).

P(j|null)=P(j|renewal)  (8)

[0023] Now we describe sub methods to estimate P(j), P(renewal),P(renewal|j,i}, and P(j|i), etc. of the above equations from the data.

[0024] P(j) estimation: precomputed and stored in length m vector.

[0025] Let the column sums of M be n₁, n₂, . . . , n_(k), . . . , n_(m).The probability of item j being bought is then as $\begin{matrix}{{P(j)} = \frac{n_{j}}{\sum\limits_{k}n_{k}}} & \text{(9A)}\end{matrix}$

[0026] or optionally with a Laplace correction for small statistics as$\begin{matrix}{{P(j)} = \frac{n_{j} + 1}{{\sum\limits_{k}n_{k}} + 1}} & \text{(9B)}\end{matrix}$

[0027] P(renewal) estimation.

[0028] Let the number of singleton baskets of item j be n_(j)′. Thisquantity is underestimated by the proportion of all singleton baskets tothe total items purchased in the training data. The reason is that everytime only one item was bought, it is certainly a case of renewal. Therenewal probability is then $\begin{matrix}{{P({renewal})} = \frac{\sum\limits_{j}n_{j}^{\prime}}{\sum\limits_{j}n_{j}}} & (10)\end{matrix}$

[0029] P(renewal|i) estimation: precomputed and stored in a length mvector.

[0030] Given the item i is bought, the estimate of renewal probabilityis done in two stages. Let the total number of baskets where the item iis the singleton basket content be n_(i)′, then for$\frac{n_{i}^{\prime}}{n_{i}}$

[0031] of the time, it is certain case of renewal,

[0032] and for the remaining proportions, i.e., for$1 - \left( \frac{n_{i}^{\prime}}{n_{i}} \right)$

[0033] of the time, there are other items bought along with the item i,but some portion of it, which we estimate to be P(renewal), would bealso renewal case. Therefore, the estimate is $\begin{matrix}{{P\left( {renewal} \middle| i \right)} = {\left( \frac{n_{i}^{\prime}}{n_{i}} \right) + {{P({renewal})} \times \left( {1 - \left( \frac{n_{i}^{\prime}}{n_{i}} \right)} \right)}}} & (11)\end{matrix}$

[0034] P(j|renewal) computation: precomputed and stored in a length mvector.

[0035] P(j|renewal) is computed using the above estimated quantities andstored according to equation (3).

[0036] P(j|i) estimation:

[0037] Let the subset of M that has 1 in i-th column be M_(i), i.e.,those rows that have item i in the basket. The j-th column sum of M_(i),denoted as n_(ji), represent the number of times j was bought along withi. Therefore, $\begin{matrix}{{{P\left( {ji} \right)} = \frac{n_{ji}}{\sum\limits_{k}n_{ki}}},{{and}\quad {we}\quad {fix}\quad {P\left( {ii} \right)}\quad {to}\quad {be}\quad 0}} & (12)\end{matrix}$

[0038] P(renewal|j,i) estimation:

[0039] From sub matrix M_(i) above, the number of rows whose sum isexactly 2 represents a certain case of renewal. Let n_(ji)′ denote thenumber of rows whose row sum in M_(i) is exactly 2 and contains item j.The certain renewal proportion is n_(ji)′/n_(ji). In the remainingcases, we estimate that the renewal is the same as P(renewal). So,$\begin{matrix}{{P\left( {{{renewal}j},i} \right)} = {\left( \frac{n_{ji}^{\prime}}{n_{ji}} \right) + {{P({renewal})} \times \left( {1 - \left( \frac{n_{ji}^{\prime}}{n_{ji}} \right)} \right)}}} & (13)\end{matrix}$

[0040] P(j|asso, i) computation: precomputed and stored in an m by marray or an equivalent sparce matrix representation.

[0041] Using the estimate above, P(j|asso, i) of equation (7) iscomputed and stored.

[0042] P(j|asso, B) computation:

[0043] First, we obtain P′(j|asso, B) of equation (5) using equation (7)and the quantities developed above. Since the items already in thepartial basket are not bought again, we fix it to zero whenever j is inB. Now, the normalized probability of j being purchased associated withthe partial basket is $\begin{matrix}{{P\left( {{j{asso}},B} \right)} = \frac{P^{\prime}\left( {{j{asso}},B} \right)}{\sum\limits_{k}{P^{\prime}\left( {{k{asso}},B} \right)}}} & (14)\end{matrix}$

[0044] P(j|renewal, B)=P(j|renewal) normalization for partial basket B:

[0045] The P(j|renewal, B)=P(j|renewal) of equation (3) is now fixed forthose j's that are already in the partial basket B to be zero, andnormalized by dividing them by the sum over all j's before the finalgoal P(j|B) is computed from equation (1) using the partial quantitiesdeveloped herewith.

[0046] The final recommendation for items based on the current partialbasket in progress is then in descending P(j|B) ranking. The probabilityitself can be used for a direct gain maximization if the profit amountfor each item is known. It that case, one would multiply theprobabilities with the corresponding profit amount before ranking ismade. More specifically, when each item's profit amount, $_(j), isknown, one computes P(j|B)$_(j) and produces the ranking forrecommendations based on this quantity.

[0047] The process is illustrated in FIG. 2. The method comprises threesteps. The first two steps use the market basket information in thetraining data base 201. Specifically, in the first step 202, certainstatistics are collected which are then used in the second step 203 toprecompute certain quantities. The third step 204 uses the precomputedquantities, in the stored statistical model 205, and the partial marketbasket information 206 in an online manner to produce a preferenceranking for the remaining unpurchased items. We assume the training datato contain n market baskets with m items.

[0048] In more detail, the first step 202 is to collect statistics fromthe training data. This involves the following:

[0049] (a) For each item j, obtain n_(j) the number of baskets with itemj purchased.

[0050] (b) For each item j, obtain n_(j)′ the number of baskets with jbeing the sole item purchased.

[0051] (c) For each pair of items i and j, obtain the number of marketbaskets n_(ji)with items j and i purchased together.

[0052] (d) For each pair of items i and j, obtain the number of marketbaskets n_(ji)′ with items i and j being the only two items purchased.

[0053] The second step 203 is to precompute model parameters. Thisinvolves the following:

[0054] (a) $\begin{matrix}{{{Compute}\quad {P({renewal})}} = {\frac{\sum\limits_{k}n_{k}^{\prime}}{\sum\limits_{k}n_{k}}.}} & \left( {{equation}\quad (10)} \right)\end{matrix}$

[0055] (b) $\begin{matrix}{{\left. {{{For}\quad {each}\quad {item}\quad j},{{{compute}\quad {P(j)}} = \frac{n_{j}}{\underset{k}{\sum n_{k}}}},{{or}\quad {use}\quad {equation}\quad \left( {9B} \right)}} \right).}\quad} & \text{(equation~~(9A)}\end{matrix}$

[0056] (c) $\begin{matrix}{{{For}\quad {each}\quad {item}\quad j},{{{compute}\quad {P\left( {{renewal}j} \right)}} = {\frac{n_{j}^{\prime}}{n_{j}} + {{P({renewal})}{\left( {1 - \frac{n_{j}^{\prime}}{n_{j}}} \right).}}}}} & \left( {{equation}\quad (11)} \right)\end{matrix}$

[0057] (d) $\begin{matrix}{{{For}\quad {each}\quad {item}\quad j},{{{compute}\quad {P^{\prime}\left( {j{renewal}} \right)}} = {{P\left( {{renewal}j} \right)} \times {\frac{P(j)}{P({renewal})}.}}}} & \left( {{equation}\quad (3)} \right)\end{matrix}$

[0058] (e) $\begin{matrix}{{{{For}\quad {each}\quad {pair}\quad {of}\quad {items}\quad i\quad {and}\quad j\quad {with}\quad n_{ij}} \neq 0},{{{compute}\quad {P\left( {ji} \right)}} = {\frac{n_{ji}}{\sum\limits_{k}n_{ki}}.}}} & \left( {{equation}\quad (12)} \right)\end{matrix}$

[0059] (f) $\begin{matrix}{{{{For}\quad {each}\quad {pair}\quad {of}\quad {items}{\quad \quad}i\quad {and}\quad j\quad {with}\quad n_{ij}} \neq 0},{{{compute}\quad {P\left( {{{renewal}j},i} \right)}} = {\frac{n_{ji}^{\prime}}{n_{ji}} + {{P({renewal})}{\left( {1 - \frac{n_{ji}^{\prime}}{n_{ji}}} \right).}}}}} & \left( {{equation}\quad (13)} \right)\end{matrix}$

[0060] (g) $\begin{matrix}{{{{For}\quad {each}\quad {pair}\quad {of}\quad {items}\quad i\quad {and}\quad j\quad {with}\quad n_{ij}} \neq 0},{{{compute}\quad {P^{\prime}\left( {{j{asso}},i} \right)}} = {{P\left( {ji} \right)} \times {\frac{\left( {1 - {P\left( {{{renewal}j},i} \right)}} \right)}{\left( {1 - {P\left( {{renewal}i} \right)}} \right)}.}}}} & \left( {{equation}\quad (7)} \right)\end{matrix}$

[0061] The third step is to calculate a recommended ordering for a givenpartial market basket. Given a partial basket B={i₁, i₂, . . . , i_(k)},let {overscore (B)} be the complementary set of items not in B. Then

[0062] (a) If B is empty, the sort items in order of decreasingP(j|renewal) and return this as the item preference ordering.

[0063] (b) If B is non-empty, then

[0064] (i) Compute P(renewal|B)=min_(i) _(k) _(εB)P(renewal|i_(k))(equation (4)).

[0065] (ii) Compute the normalization factor$\sum\limits_{k \in \overset{\_}{B}}{{P^{\prime}\left( k \middle| {renewal} \right)}.}$

[0066] (iii) For each item jε{overscore (B)}, compute${P\left( j \middle| {renewal} \right)} = {\frac{P^{\prime}\left( j \middle| {renewal} \right)}{\sum\limits_{k \in \overset{\_}{B}}{P^{\prime}\left( k \middle| {renewal} \right)}}.}$

[0067] (iv) Compute the normalization factor$\sum\limits_{j \in \overset{\_}{B}}{{P^{\prime}\left( {\left. j \middle| {asso} \right.,B} \right)}.}$

[0068] (v) For each item jε{overscore (B)}, compute

P′(j|asso,B)=max_(i) _(k) _(εB) P(j|asso,i _(k))  (equation(5))

[0069] (vi) For each item jε{overscore (B)}, compute $\begin{matrix}{{P\left( {\left. j \middle| {asso} \right.,B} \right)} = {\frac{P^{\prime}\left( {\left. j \middle| {asso} \right.,B} \right)}{\sum\limits_{k \in \overset{\_}{B}}{P^{\prime}\left( {\left. k \middle| {asso} \right.,B} \right)}}.}} & \left( {{equation}\quad (6)} \right)\end{matrix}$

[0070] (vii) For each item jε{overscore (B)}, compute

P(j|B)=P(j|asso,B)P(asso|B)+P(j|renewal,B)P(renewal|B)  (equation (1)).

[0071] (viii) Sort items in order of decreasing P(j|B) and return thisas the item preference ordering.

[0072] One skilled in the art can utilize many techniques to reduce thestorage requirement to process the present invention when the number ofitems is very large: reduced accuracy for probabilities, sparce matrixstoring techniques, and clustering of like items to reduce the number ofitems, which can be later refined for the cluster members after thecluster preferences are computed.

[0073] While the invention has been described in terms of a singlepreferred embodiment, those skilled in the art will recognize that theinvention can be practiced with modification within the spirit and scopeof the appended claims.

Having thus described our invention, what we claim as new and desire tosecure by Letters Patent is as follows:
 1. A method for makingprioritized recommendations to a customer in the process of filling amarket basket for purchase on an Internet commerce site, the methodcomprising the steps of: generating a matrix of training data;considering preferences based on associative and renewal buying historyfrom the training data; and making a prioritized recommendation of itemsso as to maximize the likelihood that the customer will add to themarket basket those items with higher priorities.
 2. The method of claim1, wherein the two preferences are estimated separately from thetraining data and combined in proper proportions to obtain an overallpreference for item not yet in the market basket.
 3. A method for makingprioritized recommendations to a customer in the process of filling amarket basket for purchase on an Internet commerce site, the methodcomprising the steps of: collecting statistics from training data;precomputing model parameters from the collected statistics; andrecommending ordering for a given partial market basket based on theprecomputed model parameters.
 4. The method of claim 3, wherein the stepof collecting statistics comprises the steps of: (a) for each item j,obtaining n_(j) a number of baskets with item j purchased; (b) for eachitem j, obtaining n_(j)′ a number of baskets with j being a sole itempurchased; (c) for each pair of items i and j, obtaining a number ofmarket baskets n_(ji) with items j and i purchased together; and (d) foreach pair of items i and j, obtaining a number of market baskets n_(ji)′with items i and j being the only two items purchased.
 5. The method ofclaim 4, wherein the step of precomputing model parameters comprises thesteps of:${{(a)\quad {computing}\quad {P({renewal})}} = \frac{\sum\limits_{k}n_{k}^{\prime}}{\sum\limits_{k}n_{k}}};$

${(b)\quad {for}\quad {each}\quad {item}\quad j},{{{{computing}\quad {P(j)}} = \frac{n_{j}}{\sum\limits_{k}n_{k}}};}$

(c) for each item j,${{{computing}\quad {P\left( {renewal} \middle| j \right)}} = {\frac{n_{j}^{\prime}}{n_{j}} + {{P({renewal})}\left( {1 - \frac{n_{j}^{\prime}}{n_{j}}} \right)}}};$

(d) for each item j, computing${{P^{\prime}\left( j \middle| {renewal} \right)} = {{P\left( {renewal} \middle| j \right)} \times \frac{P(j)}{P({renewal})}}};$

(e) for each pair of items i and j with n_(ij)≠0, computing${{P\left( j \middle| i \right)} = \frac{n_{j\quad i}}{\sum\limits_{k}n_{k\quad i}}};$

(f) for each pair of items i and j with n_(ij)≠0, computing${{P\left( {\left. {renewal} \middle| j \right.,i} \right)} = {\frac{n_{j\quad i}^{\prime}}{n_{j\quad i}} + {{P({renewal})}\left( {1 - \frac{n_{j\quad i}^{\prime}}{n_{j\quad i}}} \right)}}};{and}$

(g) for each pair of items {overscore (i)} and j with n_(ij)≠0,computing${P^{\prime}\left( {\left. j \middle| {a\quad s\quad s\quad o} \right.,i} \right)} = {{P\left( j \middle| i \right)} \times {\frac{\left( {1 - {P\left( {\left. {renewal} \middle| j \right.,i} \right)}} \right)}{\left( {1 - {P\left( {renewal} \middle| i \right)}} \right)}.}}$


6. The method of claim 5, wherein given a partial basket B−{i₁, i₂, . .. , i_(k)} and {overscore (B)} is a complementary set of items not in B,the step of recommending ordering for a given partial market basketcomprises the steps of: (a) if B is empty, sorting items in order ofdecreasing P(j|renewal) and returning this as an item preferenceordering; (b) if B is non-empty, then (i) computing P(renewal|B)=min_(i)_(k) _(εB)P(renewal|i_(k)); (ii) compute a normalization factor${\sum\limits_{k \in \overset{\_}{B}}{P^{\prime}\left( k \middle| {renewal} \right)}};$

(iii) for each item jε{overscore (B)}, computing${{P\left( j \middle| {renewal} \right)} = \frac{P^{\prime}\left( j \middle| {renewal} \right)}{\sum\limits_{k \in \overset{\_}{B}}{P^{\prime}\left( k \middle| {renewal} \right)}}};$

(iv) computing a normalization factor${\sum\limits_{k \in \overset{\_}{B}}{P^{\prime}\left( {\left. j \middle| {a\quad s\quad s\quad o} \right.,B} \right)}};$

(v) for each item jε{overscore (B)}, computing P′(j|asso,B)=max_(i) _(k)_(εB) P(j|asso,i_(k)); (vi) for each item jε{overscore (B)}, computing${{P\left( {\left. j \middle| {a\quad s\quad s\quad o} \right.,B} \right)} = \frac{P^{\prime}\left( {\left. j \middle| {a\quad s\quad s\quad o} \right.,B} \right)}{\sum\limits_{k \in \overset{\_}{B}}{P^{\prime}\left( {\left. k \middle| {a\quad s\quad s\quad o} \right.,B} \right)}}};$

(vii) for each item jε{overscore (B)}, computingP(j|B)=P(j|asso,B)P(asso|B)+P(renewal|B);  and (viii) sorting items inorder of decreasing P(j|B) and returning this as an item preferenceordering.
 7. The method of claim 6, wherein the step of sortingcomprises the step of using a final probability obtained for each item,P(j|B), of a customer buying the item to maximize profit byrecommendation.
 8. The method of claim 7, wherein the step of using afinal probability of an item to maximize profit comprises the steps of:assigning a profit amount, $_(j), to each item; computing P(j|B)$_(j)for each item; and ranking recommendations based on the computation ofP(j|B)$_(j) for each item.